package com.tinet.reservas.bean;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.tinet.reservas.SalaDao;
import com.tinet.reservas.model.Sala;
/**
 * 
 *  mapeo de bean de sala .
 *
 * @author tinet
 */
@Stateless(mappedName = "salabean", name = "salabean")
public class SalaBeanImpl implements SalaBean {
    /**
     * @param salaDao .
     */
    private SalaDao dao;
    /**
     * @param salas .
     */
    private List<Sala> salas;
    /**
     * mapeo con la persistencia.
     */
    @PersistenceContext(unitName = "MySqlDS")
    private EntityManager em;
    /**
     * post constructor.
     */
    @PostConstruct
    // crea una instancia de dao en la clase bean
    private void init() {
        if (dao == null) {
            dao = new SalaDao(em);

        }
    }
    /**
     * 
     * @method getReservas
     * @return salas
     */
    public List<Sala> getSalas() {
        return salas;
    }
    /**
     * 
     * @method setSalas
     * @param salas .
     */
    public void setSalas(List<Sala> salas) {
        this.salas = salas;
    }
    /**
     * 
     * @method getEm
     * @return em .
     */
    public EntityManager getEm() {
        return em;
    }
    /**
     * 
     * @method setEm
     * @param em .
     */
    public void setEm(EntityManager em) {
        this.em = em;
    }

    /**
     * 
     * @method mostrarTodo
     * @return lista de salas .
     * 
     */
    public List<Sala> mostrarTodo() {
        return dao.mostrarTodo();
    }
    /**
     * 
     * @method mostrarSala
     * @return una sala .
     * @param sala .
     */
    public Sala mostrarSala(Sala sala) {
      return dao.mostrarSala(sala);
    }
    /**
     * 
     * @method insertar
     * @param sala .
     */
    public void insertar(Sala sala) {
        dao.insertar(sala);
    }
    /**
     * 
     * @method eliminar
     * @param sala .
     * 
     */
    public void eliminar(Sala sala) {
        dao.eliminar(sala);
    }
    /**
     * 
     * @method editar
     * @param sala .
     * 
     */
    public void editar(Sala sala) {
        dao.editar(sala);

    }

}
